#!/bin/bash
# deploy.sh - 一键部署脚本

echo "🚀 Smart AI Chat 部署脚本 v2.0"
echo "================================"

# 检查Python版本
python_version=$(python3 --version 2>&1)
if [[ $? -eq 0 ]]; then
    echo "✅ 检测到 $python_version"
else
    echo "❌ 未找到Python3，请先安装Python 3.8+"
    exit 1
fi

# 检查Git
if command -v git &> /dev/null; then
    echo "✅ Git 已安装"
else
    echo "❌ 未找到Git，请先安装Git"
    exit 1
fi

# 创建项目目录
read -p "📁 请输入项目安装目录 (默认: ./smart-ai-chat): " install_dir
install_dir=${install_dir:-./smart-ai-chat}

if [ -d "$install_dir" ]; then
    read -p "⚠️  目录已存在，是否覆盖？(y/N): " overwrite
    if [[ $overwrite != "y" && $overwrite != "Y" ]]; then
        echo "❌ 安装取消"
        exit 1
    fi
    rm -rf "$install_dir"
fi

# 克隆项目
echo "⬇️  正在下载项目..."
git clone https://github.com/your-repo/smart-ai-chat.git "$install_dir"
cd "$install_dir"

# 创建虚拟环境
echo "🔧 创建Python虚拟环境..."
python3 -m venv venv

# 激活虚拟环境
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
    source venv/Scripts/activate
else
    source venv/bin/activate
fi

# 安装依赖
echo "📦 安装Python依赖包..."
pip install --upgrade pip
pip install -r requirements.txt

# 复制配置文件
echo "⚙️  创建配置文件..."
if [ ! -f .env ]; then
    cp .env.example .env
    echo "✅ 已创建 .env 配置文件"
fi

# 创建数据目录
echo "📁 创建数据目录..."
mkdir -p data/{conversations,config,uploads,logs}

# API密钥配置
echo ""
echo "🔑 API密钥配置"
echo "==============="
read -p "请输入OpenAI API密钥 (可选): " openai_key
read -p "请输入Anthropic API密钥 (可选): " anthropic_key
read -p "请输入Google API密钥 (可选): " google_key

# 更新.env文件
if [ ! -z "$openai_key" ]; then
    sed -i "s/your_openai_api_key_here/$openai_key/" .env
fi
if [ ! -z "$anthropic_key" ]; then
    sed -i "s/your_anthropic_api_key_here/$anthropic_key/" .env
fi
if [ ! -z "$google_key" ]; then
    sed -i "s/your_google_api_key_here/$google_key/" .env
fi

# 检查部署方式
echo ""
echo "🚀 选择部署方式"
echo "==============="
echo "1) 本地运行 (推荐用于开发测试)"
echo "2) Docker部署 (推荐用于生产环境)"
read -p "请选择 (1/2): " deploy_method

case $deploy_method in
    1)
        # 本地运行
        echo "🏃 启动本地服务..."
        echo "访问地址: http://localhost:8501"
        echo "按 Ctrl+C 停止服务"
        echo ""
        streamlit run main.py
        ;;
    2)
        # Docker部署
        if command -v docker &> /dev/null && command -v docker-compose &> /dev/null; then
            echo "🐳 使用Docker部署..."
            docker-compose up -d
            echo "✅ 部署完成！"
            echo "访问地址: http://localhost:8501"
            echo "查看状态: docker-compose ps"
            echo "查看日志: docker-compose logs -f"
        else
            echo "❌ 未找到Docker或docker-compose，请先安装"
            echo "或选择选项1进行本地运行"
            exit 1
        fi
        ;;
    *)
        echo "❌ 无效选择"
        exit 1
        ;;
esac

echo ""
echo "🎉 部署完成！"
echo "============"
echo "项目目录: $install_dir"
echo "配置文件: $install_dir/.env"
echo "数据目录: $install_dir/data"
echo ""
echo "💡 使用提示:"
echo "- 首次使用需要在系统设置中配置API密钥"
echo "- 支持多个AI模型同时对话"
echo "- 所有数据存储在本地，确保隐私安全"
echo ""
echo "📚 更多帮助: https://github.com/your-repo/smart-ai-chat"
